In general, cloud computing is a model for enabling on-demand network access to a shared pool of configurable computing resources. A cloud computing system is a complicated system with many interrelated levels of abstraction, such as a cloud service layer, a virtual center layer, and a storage layer. As a result, objects that reside in one layer are often dependent upon other objects in a different layer. For example, a virtual application, which resides in the cloud service layer, is a logical entity comprising a number of hypervisor-managed virtual machines that reside in a different virtual center layer.
There are many specialized data management systems that provide various data management functionalities, such as the automation of data backup and restoration of data, in a cloud computing system. However, many of these conventional data management systems are designed to back up objects without consideration of other interrelated objects. As an example, conventional data management systems can back up one or more hypervisor-managed virtual machines, but cannot back up the virtual applications associated with the hypervisor-managed virtual machines.
Given that many of these conventional data management systems do not account for the interrelations between objects in the cloud computing system, the data management systems cannot effectively prepare the various interrelated objects for data backup and restoration of data. As an example, a database may be hosted within a hypervisor-managed virtual machine, but conventional data management systems, when backing up the hypervisor-managed virtual machine, do not take this database into consideration. Accordingly, the database cannot be placed in a state that is ready for back up. Such an inability to prepare the interrelated objects for backup operations may result in backups of objects in inconsistent states, thereby not being able to provide an accurate backup of data in the cloud computing system.
Nonetheless, many of these conventional data management systems can be used to back up all objects and their attributes in a cloud computing system. However, a user must identify and manually define all the interrelated objects for backup in such a conventional data management system, but such a manual process can be labor intensive and requires the user to have extensive knowledge about the cloud computing system.